package GameLogic;

abstract class EntityEnemy extends Entity
{
	protected double movementVelocity;
	protected int collisionRadius;
	protected int damage;
	protected EntityPlayer target;
	protected int attackInterval;
	protected int attackStrength;
	public int enemyClass;
	public int attackRange;
	public double attackProbability;
	public boolean isDead;
    
	public EntityEnemy()
	{
		isDead = false;
	}
	
	public void setTarget(EntityPlayer pTarget)
	{
		target = pTarget;
	}
	
	protected void attackPlayer(EntityPlayer p)
	{		
	}
	
	abstract void attack();
	
	public void tick()
	{
		super.tick();
		if(health <= 0)
		{
			System.out.println("Entity should be dead");
			isDead = true;
		}
	}
	
	protected boolean detect()
	{
		return false;
	}
	
	protected boolean isCollidingWith(Entity target)
	{
		return isInRadiusOf(target, collisionRadius);
	}
		
	public boolean isNyanCat()
	{
		return true;
	}
	
	public boolean isAttacking()
	{
		return false;
	}
}